import request from '@/utils/request.js'
import { to } from '@/utils/awaitTo.js'

// 登录
export const loginAPI = (data) => {
  // return request.post('/sys/login', data)
  // 使用封装的to方法改造API
  const PA = request.post('/sys/login', data)
  // 将Ajax请求返回的Promise对象,通过to方法封装的链式调用,分别取出成功和失败的结果返回给PB
  const PB = to(PA)
  // 将优化的结果return出去
  return PB
}
// 获取用户信息
export const getUserInfoAPI = () => {
  return request.post('/sys/profile')
}

/**
 * 用户 - 获取用户资料
 * @description: 获取用户资料
 * @param {*}
 * @return {*}
 */
export function getUserProfileAPI() {
  return request({
    url: '/sys/profile',
    method: 'post'
  })
}

/**
 * 用户 - 获取头像
 * @description: 获取用户头像
 * @param {*} id 用户id
 * @return {*}
 */
export function getUserPhotoAPI(id) {
  return request({
    url: `/sys/user/${id}`
  })
}

/**
 * @description: 获取员工详细信息
 * @param {*} id 用户id
 * @return {*}
 */
export function getUserDetailByIdAPI(id) {
  return request({
    url: `/sys/user/${id}`
  })
}

/**
 * @description: 保存员工信息
 * @param {*} data
 * @return {*}
 */
export function saveUserDetailByIdAPI(data) {
  return request({
    url: `/sys/user/${data.id}`,
    method: 'put',
    data
  })
}
